package ch.cyberduck.binding.application;

import ch.cyberduck.binding.foundation.NSArray;
import ch.cyberduck.binding.foundation.NSObject;
import ch.cyberduck.binding.foundation.NSString;

import org.rococoa.cocoa.foundation.NSInteger;

/*
 * Copyright (c) 2002-2010 David Kocher. All rights reserved.
 *
 * http://cyberduck.ch/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * Bug fixes, suggestions and comments should be sent to:
 * dkocher@cyberduck.ch
 */

/**
 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
 * a tool written by <a href="http://ochafik.free.fr/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a>, <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
 */
public abstract class NSPopUpButtonCell extends NSButtonCell {

    /**
     * If usesItemFromMenu is true, then pull down popup buttons always show the first item in the menu.  That menu item is hidden via [menuItem setHidden:YES]; if you wish to make it visible you can unhide it with setHidden:NO<br>
     * Original signature : <code>-(void)setPullsDown:(BOOL)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:52</i>
     */
    public abstract void setPullsDown(boolean flag);

    /**
     * Original signature : <code>-(BOOL)pullsDown</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:53</i>
     */
    public abstract boolean pullsDown();

    /**
     * Original signature : <code>-(void)setAutoenablesItems:(BOOL)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:55</i>
     */
    public abstract void setAutoenablesItems(boolean flag);

    /**
     * Original signature : <code>-(BOOL)autoenablesItems</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:56</i>
     */
    public abstract boolean autoenablesItems();
    /**
     * <i>native declaration : NSPopUpButtonCell.h:58</i><br>
     * Conversion Error : /// Original signature : <code>-(void)setPreferredEdge:()</code><br>
     * - (void)setPreferredEdge:(null)edge; (Argument edge cannot be converted)
     */
    /**
     * Original signature : <code>-(id)preferredEdge</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:59</i>
     */
    public abstract NSObject preferredEdge();

    /**
     * Original signature : <code>-(void)setUsesItemFromMenu:(BOOL)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:62</i>
     */
    public abstract void setUsesItemFromMenu(boolean flag);

    /**
     * Original signature : <code>-(BOOL)usesItemFromMenu</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:63</i>
     */
    public abstract boolean usesItemFromMenu();

    /**
     * Original signature : <code>-(void)setAltersStateOfSelectedItem:(BOOL)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:66</i>
     */
    public abstract void setAltersStateOfSelectedItem(boolean flag);

    /**
     * Original signature : <code>-(BOOL)altersStateOfSelectedItem</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:67</i>
     */
    public abstract boolean altersStateOfSelectedItem();

    /**
     * Adding and removing items<br>
     * Original signature : <code>-(void)addItemWithTitle:(NSString*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:71</i>
     */
    public abstract void addItemWithTitle(NSString title);

    /**
     * Original signature : <code>-(void)addItemsWithTitles:(NSArray*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:72</i>
     */
    public abstract void addItemsWithTitles(NSArray itemTitles);

    /**
     * Original signature : <code>-(void)insertItemWithTitle:(NSString*) atIndex:(NSInteger)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:73</i>
     */
    public abstract void insertItemWithTitle_atIndex(NSString title, NSInteger index);

    /**
     * Original signature : <code>-(void)removeItemWithTitle:(NSString*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:75</i>
     */
    public abstract void removeItemWithTitle(NSString title);

    /**
     * Original signature : <code>-(void)removeItemAtIndex:(NSInteger)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:76</i>
     */
    public abstract void removeItemAtIndex(NSInteger index);

    /**
     * Original signature : <code>-(void)removeAllItems</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:77</i>
     */
    public abstract void removeAllItems();

    /**
     * Accessing the items<br>
     * Original signature : <code>-(NSArray*)itemArray</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:81</i>
     */
    public abstract NSArray itemArray();

    /**
     * Original signature : <code>-(NSInteger)numberOfItems</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:82</i>
     */
    public abstract NSInteger numberOfItems();

    /**
     * Original signature : <code>-(NSInteger)indexOfItem:(NSMenuItem*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:84</i>
     */
    public abstract NSInteger indexOfItem(NSMenuItem item);

    /**
     * Original signature : <code>-(NSInteger)indexOfItemWithTitle:(NSString*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:85</i>
     */
    public abstract NSInteger indexOfItemWithTitle(NSString title);

    /**
     * Original signature : <code>-(NSInteger)indexOfItemWithTag:(NSInteger)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:86</i>
     */
    public abstract NSInteger indexOfItemWithTag(NSInteger tag);

    /**
     * Original signature : <code>-(NSInteger)indexOfItemWithRepresentedObject:(id)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:87</i>
     */
    public abstract NSInteger indexOfItemWithRepresentedObject(org.rococoa.ObjCObject obj);

    /**
     * Original signature : <code>-(NSInteger)indexOfItemWithTarget:(id) andAction:(SEL)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:88</i>
     */
    public abstract NSInteger indexOfItemWithTarget_andAction(org.rococoa.ObjCObject target, org.rococoa.Selector actionSelector);

    /**
     * Original signature : <code>-(NSMenuItem*)itemAtIndex:(NSInteger)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:90</i>
     */
    public abstract NSMenuItem itemAtIndex(NSInteger index);

    /**
     * Original signature : <code>-(NSMenuItem*)itemWithTitle:(NSString*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:91</i>
     */
    public abstract NSMenuItem itemWithTitle(NSString title);

    /**
     * Original signature : <code>-(NSMenuItem*)lastItem</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:92</i>
     */
    public abstract NSMenuItem lastItem();

    /**
     * Dealing with selection<br>
     * Original signature : <code>-(void)selectItem:(NSMenuItem*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:96</i>
     */
    public abstract void selectItem(NSMenuItem item);

    /**
     * Original signature : <code>-(void)selectItemAtIndex:(NSInteger)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:97</i>
     */
    public abstract void selectItemAtIndex(NSInteger index);

    /**
     * Original signature : <code>-(void)selectItemWithTitle:(NSString*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:98</i>
     */
    public abstract void selectItemWithTitle(NSString title);

    /**
     * Original signature : <code>-(BOOL)selectItemWithTag:(NSInteger)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:100</i>
     */
    public abstract boolean selectItemWithTag(NSInteger tag);

    /**
     * Original signature : <code>-(void)setTitle:(NSString*)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:102</i>
     */
    public abstract void setTitle(NSString aString);

    /**
     * Original signature : <code>-(NSMenuItem*)selectedItem</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:104</i>
     */
    public abstract NSMenuItem selectedItem();

    /**
     * Original signature : <code>-(NSInteger)indexOfSelectedItem</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:105</i>
     */
    public abstract NSInteger indexOfSelectedItem();

    /**
     * Original signature : <code>-(void)synchronizeTitleAndSelectedItem</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:106</i>
     */
    public abstract void synchronizeTitleAndSelectedItem();

    /**
     * Title conveniences<br>
     * Original signature : <code>-(NSString*)itemTitleAtIndex:(NSInteger)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:110</i>
     */
    public abstract NSString itemTitleAtIndex(NSInteger index);

    /**
     * Original signature : <code>-(NSArray*)itemTitles</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:111</i>
     */
    public abstract NSArray itemTitles();

    /**
     * Original signature : <code>-(NSString*)titleOfSelectedItem</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:112</i>
     */
    public abstract NSString titleOfSelectedItem();
    /**
     * <i>native declaration : NSPopUpButtonCell.h:114</i><br>
     * Conversion Error : /// Original signature : <code>-(void)attachPopUpWithFrame:() inView:(NSView*)</code><br>
     * - (void)attachPopUpWithFrame:(null)cellFrame inView:(NSView*)controlView; (Argument cellFrame cannot be converted)
     */
    /**
     * Original signature : <code>-(void)dismissPopUp</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:115</i>
     */
    public abstract void dismissPopUp();
    /**
     * <i>native declaration : NSPopUpButtonCell.h:116</i><br>
     * Conversion Error : /// Original signature : <code>-(void)performClickWithFrame:() inView:(NSView*)</code><br>
     * - (void)performClickWithFrame:(null)frame inView:(NSView*)controlView; (Argument frame cannot be converted)
     */
    /**
     * Arrow position for bezel style and borderless popups.<br>
     * Original signature : <code>-(NSPopUpArrowPosition)arrowPosition</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:119</i>
     */
    public abstract /**
     * @see AppKitLibrary#NSPopUpArrowPosition
     */
    int arrowPosition();

    /**
     * Original signature : <code>-(void)setArrowPosition:(NSPopUpArrowPosition)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:120</i><br>
     *
     * @param position @see AppKitLibrary#NSPopUpArrowPosition
     */
    public abstract void setArrowPosition(int position);

    /**
     * Original signature : <code>-(void)setObjectValue:(id)</code><br>
     * <i>native declaration : NSPopUpButtonCell.h:124</i>
     */
    public abstract void setObjectValue(org.rococoa.ObjCObject obj);
}
